Telegram Group & Telegram Channel
🚀 Анонимные функции (лямбды) в C++

Лямбды — это удобные анонимные функции, которые можно объявлять прямо в коде. Вот ключевые фишки:

🔹 Базовый синтаксис
auto lambda = [] { /* тело функции */ };

Каждая лямбда имеет уникальный тип, даже если выглядит так же, как другая.

🔹Захват переменных
- По значению [x] — создаётся копия.
- По ссылке [&x] — работаем с оригиналом.

int a = 10, b = 10;
auto fn = [a, &b] {
a++; // Не влияет на оригинал
b++; // Меняет исходную переменную
};


🔹 Параметры и возвращаемое значение
auto sum = [](int x, int y) -> int { return x + y; };

Можно опустить -> int, если компилятор сам выведет тип.

🔹 Изменяемые лямбды (mutable)
Если захватываем по значению и хотим менять значение между вызовами:
int count = 0;
auto bump = [count]() mutable { ++count; };


🔹Обобщённые лямбды (C++14+)
Можно использовать auto для параметров:
auto sum = [](auto x, auto y) { return x + y; };


🔹Условная компиляция (if constexpr)
Позволяет обрабатывать разные типы по-разному:
auto print = [](auto x) {
if constexpr (std::is_same_v) {
std::cout << «int: " << x;
}
};


💡 Вывод:

Лямбды делают код лаконичнее, поддерживают захват переменных, обобщённые вычисления и даже constexpr-логику. Отлично заменяют мелкие функции и функторы.

Библиотека C/C++ разработчика #буст



tg-me.com/cppproglib/5568
Create:
Last Update:

🚀 Анонимные функции (лямбды) в C++

Лямбды — это удобные анонимные функции, которые можно объявлять прямо в коде. Вот ключевые фишки:

🔹 Базовый синтаксис

auto lambda = [] { /* тело функции */ };

Каждая лямбда имеет уникальный тип, даже если выглядит так же, как другая.

🔹Захват переменных
- По значению [x] — создаётся копия.
- По ссылке [&x] — работаем с оригиналом.

int a = 10, b = 10;
auto fn = [a, &b] {
a++; // Не влияет на оригинал
b++; // Меняет исходную переменную
};


🔹 Параметры и возвращаемое значение
auto sum = [](int x, int y) -> int { return x + y; };

Можно опустить -> int, если компилятор сам выведет тип.

🔹 Изменяемые лямбды (mutable)
Если захватываем по значению и хотим менять значение между вызовами:
int count = 0;
auto bump = [count]() mutable { ++count; };


🔹Обобщённые лямбды (C++14+)
Можно использовать auto для параметров:
auto sum = [](auto x, auto y) { return x + y; };


🔹Условная компиляция (if constexpr)
Позволяет обрабатывать разные типы по-разному:
auto print = [](auto x) {
if constexpr (std::is_same_v) {
std::cout << «int: " << x;
}
};


💡 Вывод:

Лямбды делают код лаконичнее, поддерживают захват переменных, обобщённые вычисления и даже constexpr-логику. Отлично заменяют мелкие функции и функторы.

Библиотека C/C++ разработчика #буст

BY Библиотека C/C++ разработчика | cpp, boost, qt


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/cppproglib/5568

View MORE
Open in Telegram


Библиотека C C разработчика | cpp boost qt Telegram | DID YOU KNOW?

Date: |

What is Secret Chats of Telegram

Secret Chats are one of the service’s additional security features; it allows messages to be sent with client-to-client encryption. This setup means that, unlike regular messages, these secret messages can only be accessed from the device’s that initiated and accepted the chat. Additionally, Telegram notes that secret chats leave no trace on the company’s services and offer a self-destruct timer.

Pinterest (PINS) Stock Sinks As Market Gains

Pinterest (PINS) closed at $71.75 in the latest trading session, marking a -0.18% move from the prior day. This change lagged the S&P 500's daily gain of 0.1%. Meanwhile, the Dow gained 0.9%, and the Nasdaq, a tech-heavy index, lost 0.59%. Heading into today, shares of the digital pinboard and shopping tool company had lost 17.41% over the past month, lagging the Computer and Technology sector's loss of 5.38% and the S&P 500's gain of 0.71% in that time. Investors will be hoping for strength from PINS as it approaches its next earnings release. The company is expected to report EPS of $0.07, up 170% from the prior-year quarter. Our most recent consensus estimate is calling for quarterly revenue of $467.87 million, up 72.05% from the year-ago period.

Библиотека C C разработчика | cpp boost qt from br


Telegram Библиотека C/C++ разработчика | cpp, boost, qt
FROM USA